草庐IT

c++ - 包装第 3 方 DLL

全部标签

c++ - 为 SetWaitableTimer 设置相对时间时的算术溢出

http://msdn.microsoft.com/en-us/library/windows/desktop/ms686289%28v=vs.85%29.aspx我希望计时器从当前时间开始发出信号5分5秒,但是当我将LARGE_INTEGER的QuadPart设置为-3050000000时,变量溢出,当我打印出来时,它显示为1244967296。我应该怎么办如何让它在当前时间后5分5秒(或更多)发出信号?LARGE_INTEGERli;li.QuadPart=-3050000000;printf("%ld\n",li); 最佳答案

C sha1 实现不适用于 Unix

我正在使用thisimplementationC中的SHA1。在Windows上工作正常,但它在Unix上不输出正确的哈希值(在Ubuntu和MacOS10.8上试过)。此外,在Ubuntu上,它从同一消息输出不同的哈希值。我想我可以使用另一个实现,只是好奇为什么会这样。编辑谢谢,你们是对的。改成了typedefunsignedintUINT4;似乎工作正常。 最佳答案 这些是64位unix吗?/*UINT4definesafourbyteword*/typedefunsignedlongintUINT4;在64位Linux上实际上

c - 使用 gcc 编译 win32 项目时如何链接到库?

我正在尝试在Win7上使用gcc编译一个基本的hellowordwinform应用程序。代码是这样的:/*WINHELLO.C"Hello,world!",Win32style.*/#includeLRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);/*WinMain(),ourentrypoint*/intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRszCmdLine,intiCmdShow){staticcharszAppName[]="winhello";HW

c++ - 在 Windows 中不使用 Unicode 有什么缺点?

在Windows上不使用Unicode有什么缺点?我所说的Unicode是指WCHAR和广泛的API函数。(CreateWindowW、MessageBoxW等)不使用它会遇到什么问题? 最佳答案 在处理系统API时,您的代码将无法正确处理当前所选代码页之外的字符1。典型问题包括将不受支持的字符转换为问号、无法处理包含特殊字符的文本,尤其是名称/路径中包含“奇怪字符”的文件。此外,几个较新的API仅出现在“宽”版本中。最后,每个涉及文本的API调用都会稍微慢一些,因为API的“A”版本通常只是“W”API的薄包装,即即时将参数转换为

c# - Windows 7 Message Box 的图标存储在哪里 [.DLL]

有谁知道Windows中的MessageBox符号存储在哪里(错误图标、感叹号图标...)。我认为它们在.dll文件中! 最佳答案 使用System.Drawing.SystemIconsclass访问Windows中使用的常用图标。它包括MessageBox中使用的图标。从技术上讲,您可以在VisualStudio中使用文件+打开+文件并导航到c:\windows\system32\user32.dll来获取这些图标。然而,这是不合法的。也不能保证它们在更高版本的Windows上看起来相同,它们可能不会。请改用SystemIcon

windows - 如何在 Delphi 的多线程中加载一个 DLL?

也许我错过了什么,我不知道这里发生了什么。我正在尝试在TThread对象的多个实例中加载同一个DLL。这是我的DLL代码:libraryMyCalcFor32;usesSysUtils,Classes,uRunnerin'uRunner.pas';ExportsEVal;{$R*.res}beginend.这是uRunner.pas:unituRunner;interfaceusesSysUtils,Classes;functionEVal(Valor:WideString):WideString;stdcall;export;implementationfunctionEVal(Va

c - Windows 上带有 GCC 的 MinGW 误报数值

出于某种原因,每当我在编译器设置中使用数值时(Windows上的MinGW,使用CMD提示编译和运行),它在程序中完全误报数字。代码示例://Chelloworldexample#includeintmain(){intvalue;value=10;printf("Thenumberis%d\n"),value;intvalue2;value2=-100;printf("Thenumberis%d\n"),value2;return0;}比照。screenshotofoutput. 最佳答案 value和value2必须作为参数传递

C到delphi转换

谁能告诉我我在转换过程中哪里出错了:C:typedefstruct_REGISTRY_EVENT{REG_NOTIFY_CLASSeventType;TIME_FIELDStime;HANDLEprocessId;ULONGdataType;ULONGdataLengthB;ULONGregistryPathLengthB;/*Containspathandoptionallydata*/UCHARregistryData[];}REGISTRY_EVENT,*PREGISTRY_EVENT;德尔福:_Registry_Event=recordEventType:REG_NOTIFY_

c++ - 丢失 DLL 的一般方法

我想每个人都时不时遇到丢失dll的问题。我想要获得的是查找和安装dll的“推荐”方法。使用depends.exe很容易找出缺少的dll。 最佳答案 不要再使用depends.exe,它跟不上Windows核心和并行缓存等部署策略的发展。试图修复它给出的警告实际上会使您的机器变得非常糟糕。仅在程序实际无法启动时将其用作提示。 关于c++-丢失DLL的一般方法,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

c++ - 从 C++ 类制作 Visual C++ DLL

我有以下C++代码来制作dll(VisualStudio2010)。classShape{public:Shape(){nshapes++;}virtual~Shape(){nshapes--;};doublex,y;voidmove(doubledx,doubledy);virtualdoublearea(void)=0;virtualdoubleperimeter(void)=0;staticintnshapes;};class__declspec(dllexport)Circle:publicShape{private:doubleradius;public:Circle(dou